home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1992-09-03 | 1.1 KB | 48 lines |
- ' great idea for a intro by Kyzer/CSG 1/96
- ' this is a sort of 'test' version in amos, to get the maths right
- ' sine wave scroller (usual 16 pixel 'use line texture as 1x16 line of
- ' scroll, repeat 320 times, each line at y-coord sin(something)' method)
- ' but this time, rotate the scroll in realtime.
- ' would be very fast in asm, 25 or 50 Hz.
- '
- Screen Open 0,320,256,2,0 : Curs Off : Palette 0,$FFF
- Cls 0 : Double Buffer : Autoback 0 : Hide
- CX=Screen Width/2 : CY=Screen Height/2
- Dim S(359),C(359)
- Degree
- For A=0 To 359
- S(A)=Sin(A)*16384
- C(A)=Cos(A)*16384
- Next A
- '
- Dim XE(359),YE(359)
- For A=0 To 359
- S=S((360+45-A) mod 360)/2048 : Rem 8 sin a
- C=C((360+45-A) mod 360)/2048 : Rem 8 cos a
- XE(A)=C-S
- YE(A)=-C-S
- Next A
- '
- A=0
- For ROT=0 To 359 Step 4
- Add A,16,0 To 359
- S=S(ROT)
- C=C(ROT)
- XE=XE(ROT)
- YE=YE(ROT)
- B=A
- Wait Vbl
- Cls 0
- For X=-150 To 150
- Add B,1,0 To 359
- Y=S(B)/256
- XC=(X*C)/16384
- XS=(X*S)/16384
- YC=(Y*C)/16384
- YS=(Y*S)/16384
- X1=CX+XC+YS
- Y1=CY+YC-XS
- Draw X1+XE,Y1-YE To X1-XE,Y1+YE
- Next X
- Screen Swap
- Next